package com.uzai.console.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.takebal.redpacket.RedPacketQuery;
import com.uzai.console.dto.user.wxworkuser.WxworkUserQuery;
import com.uzai.console.entity.RedPacket;
import com.uzai.console.vo.takebal.redpacket.RedPacketTotalVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;

@Repository
public interface RedPacketMapper {
    int deleteById(@Param("id") Long id, @Param("merId") Long merId);

    int insert(RedPacket record);

    int insertSelective(RedPacket record);

    RedPacket selectById(@Param("id") Long id, @Param("merId") Long merId);

    RedPacket selectByUserIdAndTradeno(@Param("userId") Long userId, @Param("tradeno") String tradeno, @Param("merId") Long merId);

    int updateByUserIdAndTradeno(RedPacket record);

    int updateSelective(RedPacket record);

    int update(RedPacket record);

    int updateStatus(RedPacket record);

    /**
     * 分页查询
     * @param page
     * @param query
     * @return
     */
    ArrayList<RedPacket> findByList(Page<RedPacket> page, @Param("query") RedPacketQuery query);

    /**
     * 查询所有
     * @param query
     * @return
     */
    //ArrayList<RedPacket> findByList(@Param("query") RedPacketQuery query);

    /**
     * 查询总数
     * @param query
     * @param query
     * @return
     */
    Integer findCount(@Param("query") RedPacketQuery query);

    /**
     * 查询红包总金额
     * @param query
     * @return
     */
    RedPacketTotalVo findTotalMoney(@Param("query") RedPacketQuery query);

    /**
     * 批量替换机器人信息
     * @param merId
     * @return
     */
    int batchUpdateDeviceInfo(@Param("oldDeviceUniqueId") Long oldDeviceUniqueId, @Param("newDeviceUniqueId") Long newDeviceUniqueId, @Param("merId") Long merId);

}